.menu_container {
    height: auto;
    clear: both;
    float: left;
}

.menu_container.full_width {
    width: 100%;
}

.menu_container>ul {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
    float: left;
    width: 100%;
    background: inherit;
    height: 0;
    overflow: hidden;
}

.menu_container>ul>li {
    position: relative;
    background: inherit;
    display: block;
    padding: 0;
    margin: 0;
}

.menu_container>ul>li>a {
    padding: 7px 15px;
    display: block;
    color: #666666;
    text-decoration: none;
    font-size: 12px;
    text-transform: uppercase;
    transition: background-color 200ms linear;
    -moz-transition: background-color 200ms linear;
    -o-transition: background-color 200ms linear;
    -webkit-transition: background-color 200ms linear;
}

.menu_container>ul>li.last>a {
    box-shadow: none;
    border-right: 0;
}

.menu_container .menu_dropdown_block {
    visibility: hidden;
    position: relative;
    border: 1px solid #ddd;
    border-top: 0;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
    background: #fff;
    top: 100%;
    color: #575757;
    overflow: hidden;
    z-index: 30;
    font-size: 12px;
    height: 0;
    width: auto;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    transition: opacity 100ms linear;
    -moz-transition: opacity 100ms linear;
    -o-transition: opacity 100ms linear;
    -webkit-transition: opacity 100ms linear;
}

.menu_container>ul>li.right>.menu_dropdown_block {
    right: 0;
}


.menu_container .menu_dropdown_block p.links a {
    text-decoration: none;
}

.menu_container>ul>li:hover>.menu_dropdown_block {
    visibility: visible;
    height: auto;
    min-height: 40px;
    max-height: 3000px;
}

.menu_container .menu_dropdown_block.full_width {
    left: 0;
    width: 100%;
    margin-left: 0;
}

.menu_container .menu_dropdown_block.half_width {
    width: 50%;
}

ul.menu_submenu_block {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul.menu_submenu_block li {
    display: block;
    position: relative;
}

ul.menu_submenu_block li a {
    display: block;
    padding: 5px 25px 5px 18px;
    text-decoration: none;
    color: #666;
    margin: 0;
    white-space: nowrap;
}

ul.menu_submenu_block li:hover>a {
    color: #666666;
}

ul.menu_submenu_block>li.has-submenu>a:after {
    content: "\203A";
    position: absolute;
    font-family: Arial,sans-serif;
    top: 6px;
    right: 10px;
    font-size: 20px;
    line-height: 16px;
    font-weight: bold;
    opacity: .7;
}

ul.menu_submenu_block>li.has-submenu:hover>a:after {
    opacity: 1;
}

ul.menu_submenu_block>li>.menu_submenu_block {
    visibility: hidden;
    opacity: 0;
    position: relative;
    width: auto;
    text-align: left;
    min-width: 160px;
    top: 100%;
    height: 0;
    box-shadow: inset 4px 0 0 rgba(0,0,0,0.2);
}

ul.menu_submenu_block>li.has-submenu:hover>.menu_submenu_block {
    visibility: visible;
    opacity: 1;
    transition: opacity 100ms linear;
    -moz-transition: opacity 100ms linear;
    -o-transition: opacity 100ms linear;
    -webkit-transition: opacity 100ms linear;
    height: auto;
}

ul.menu_submenu_block>li>.menu_submenu_block a {
    padding-left: 30px;
}

ul.menu_submenu_block>li>.menu_submenu_block>li>.menu_submenu_block a {
    padding-left: 40px;
}

ul.menu_submenu_block>li>.menu_submenu_block>li>.menu_submenu_block>li>.menu_submenu_block a {
    padding-left: 50px;
}

    .mobile_collapser {
        display: block;
        height: auto;
        padding: 7px 15px;
        font-weight: normal;
        color: #fff;
        text-shadow: 0 1px 2px rgba(0,0,0,0.25);
        font-size: 14px;
        background: #11418a;
        margin-bottom: 0;
    }

    .mobile_collapser:before {
        display: block;
        float: left;
    }

    #hidden_menu_collapser {
        display: none;
    }

    #hidden_menu_collapser:checked+ul {
        height: auto;
        max-height: 2999px;
    }

    .menu_container>ul.collapsed {
        height: auto;
        max-height: 2999px;
    }   

@media only screen and (min-width:768px) {
    .mobile_collapser {
        display: none;
    }
    .menu_container>ul {
        transition: all 100ms linear;
        -moz-transition: all 100ms linear;
        -o-transition: all 100ms linear;
        -webkit-transition: all 100ms linear;
        height: auto;
        overflow: visible;
    }

    .menu_container>ul>li {
        position: static;
        float: left;
        background: inherit;
    }

    .menu_container>ul>li>a {
        box-shadow: none;
    }

    .menu_container .menu_dropdown_block {
        position: absolute;
        opacity: 0;
    }

    .menu_container>ul>li:hover>.menu_dropdown_block {
        overflow: visible;
        opacity: 1;
        margin-left: -1px;
    }

    .menu_container>ul>li.right {
        float: right;
    }

    .menu_container .menu_dropdown_block .column {
        float: left;
    }

    .menu_container .menu_dropdown_block .column.bordered {
        border-right: 1px solid #ddd;
    }

    ul.menu_submenu_block>li>.menu_submenu_block {
        position: absolute;
        top: 0;
        height: auto;
        min-width: 160px;
        left: 100%;
        background: #fff;
    }

    .menu_container .menu_dropdown_block>ul.menu_submenu_block>li>ul.menu_submenu_block {
        margin-left: 0;
    }

    ul.menu_submenu_block>li>.menu_submenu_block a {
        padding-left: 20px !important;
    }

    ul.menu_submenu_block.right-align li a {
        text-align: right;
    }

    ul.menu_submenu_block.right-align li.has-dropdown>a:after {
        content: '\2039';
        right: auto;
        left: 10px;
    }

    ul.menu_submenu_block.right-align li a .fa {
        margin-right: 0;
        margin-left: 6px;
    }

    ul.menu_submenu_block.right-align>li .menu_submenu_block {
        left: auto;
        right: 100%;
    }

    ul.menu_submenu_block.right-align li.has-dropdown>a:after {
        content: '\2039';
        right: auto;
        left: 10px;
    }

.menu_container.green {
    background: #ffffff;
}

.menu_container.green>ul>li:hover>a {
    color: #fa9800;
}

.menu_container.green>ul>li>.menu_dropdown_block p.links a {
    color: #657f40;
}

.menu_container.green>ul>li>.menu_dropdown_block p.links a:hover {
    color: #43552b;
    border-bottom: 1px dotted #657f40;
}

.menu_container.green ul.menu_submenu_block li:hover>a {
    background: #eeeeee;
}